package com.uum.blog.service;

import com.uum.blog.pojo.entity.Blog;
import com.uum.blog.pojo.form.BlogForm;
import com.uum.blog.pojo.query.BlogPageQuery;

import java.util.List;
import java.util.Map;

public interface EsBlogService {
    /**
     * 后台系统-查询博文分页
     * @param pageQuery
     * @return
     */
    Map<String, Object> blogPage(BlogPageQuery pageQuery) throws Exception;

    /**
     * 新增博文
     * @param blog
     * @return
     */
    boolean add(BlogForm blog);

    /**
     * 修改博文
     * @param blogForm 博文信息
     * @param isIgnore 是否忽略null值
     * @return
     */
    boolean update(BlogForm blogForm,Boolean isIgnore);

    boolean settingBlog(Blog blog);

    boolean delete(List<String> ids);

    /**
     * 获取查询建议
     * @param title
     * @return
     */
    List<Map<String, String>> listSuggest(String title);

    boolean insertSuggest(String blogId, String title);

    boolean deleteSuggest(List<String> idsList);

    /**
     * 门户-查询博文分页
     * @param pageQuery
     * @return
     */
    Map webBlogPage(BlogPageQuery pageQuery);

    /**
     * 根据点击量搜索博文（获取推荐文章）
     * @return
     */
    List<Map<String, Object>> listHotBlog();

    /**
     * 博文详情
     * @param id
     * @return
     */
    Map<String, Object> detail(Long id);

    /**
     * 根据userId修改作者名字
     * @param userId
     * @param nickname
     * @return
     */
    boolean updateAuthorName(Long userId, String nickname);
}
